/**
 * 统计路由
 * 提供各种数据分析和统计接口
 */

const express = require('express');
const router = express.Router();
const { authorize } = require('../middleware/permission.middleware');
const statsController = require('../controllers/stats.controller');

/**
 * @route GET /admin/stats/overview
 * @description 获取系统总览统计数据
 * @access 需要管理员权限
 */
router.get('/overview', authorize('admin', 'superAdmin'), statsController.getOverviewStats);

/**
 * @route GET /admin/stats/user-growth
 * @description 获取用户增长趋势数据
 * @access 需要管理员权限
 * @query period 统计周期：week/month
 */
router.get('/user-growth', authorize('admin', 'superAdmin'), statsController.getUserGrowthStats);

/**
 * @route GET /admin/stats/content-usage
 * @description 获取内容使用统计数据
 * @access 需要管理员权限
 */
router.get('/content-usage', authorize('admin', 'superAdmin'), statsController.getContentUsageStats);

/**
 * @route GET /admin/stats/api-performance
 * @description 获取API性能统计数据
 * @access 需要管理员权限
 * @query timeRange 时间范围：day/week/month
 */
router.get('/api-performance', authorize('admin', 'superAdmin'), statsController.getApiPerformanceStats);

/**
 * @route GET /admin/stats/user-behavior
 * @description 获取用户行为分析数据
 * @access 需要管理员权限
 */
router.get('/user-behavior', authorize('admin', 'superAdmin'), statsController.getUserBehaviorStats);

/**
 * @route GET /admin/stats/system-health
 * @description 获取系统健康状态数据
 * @access 需要管理员权限
 */
router.get('/system-health', authorize('admin', 'superAdmin'), statsController.getSystemHealthStats);

module.exports = router;